Dynamic libraries may be utilized to avoid loading code into memory until that code is required for the execution of a computer program. Linkers that include weak symbol linkage functionality allow the main code of a computer program to reference symbols in a dynamic library without causing a link-time error. However, this type of linker then may then require code which references these symbols to check for a run-time error when utilizing a symbol. In addition, some linkers do not support weak symbol linkage, and/or weak symbol linkage may be disabled in some environments. In these cases, the main code segment of a computer program may not be able to reference symbols in a dynamic library without causing a link-time error.
Alternatively, another approach may require all of the symbols in a dynamic library that can be referenced by the main code to be included in a symbol table. In this implementation, the main code then utilizes symbol table lookup routines when referencing these symbols to check for their existence. Then, when a required symbol is found, it may be accessed through a pointer to avoid a link-time error. This technique may introduce unnecessary complexity to a computer programming environment, while increasing the size of the symbol table, and requiring extra run-time checks to perform and check the results of symbol table lookups.